/**
 * @author HuangJacky
 * @version v1.0
 * @description TSRC使用中一些基础的js代码
 */

/**
 * StringBuilder类
 * @returns {StringBuilder}
 */
function StringBuilder() {
    this.__strings__ = new Array();
}
/**
 * 压入一个字符串到SB中
 * @param {string} str
 * @returns {StringBuilder}
 */
StringBuilder.prototype.append = function(str) {
    this.__strings__.push(str);
    return this;
};
/**
 * 将SB中元素连接成一个字符串
 */
StringBuilder.prototype.toString = function() {
    return this.__strings__.join("");
};
/**
 * 清空sb中所有元素
 * @returns {StringBuilder.prototype}
 */
StringBuilder.prototype.clear = function() {
    this.__strings__ = [];
    return this;
};
//_____________________________________
/**
 * 格式化字符串
 * @param {array} src
 */
String.prototype.format = function(src) {
    if (arguments.length == 0)
        return null;
    var args = arguments;
    return this.replace(/\{(\d+)\}/g, function(m, i) {
        return args[i];
    });
};

String.prototype.trim = function(){
    return this.replace(/(^[\\s]*)|([\\s]*$)/g, "");
}
//________________________________________
/**
 * 判断数组中是否含有指定元素
 * @param {Object} e
 * @returns {Boolean} 包含返回TRUE
 */
Array.prototype.contains = function(e) {
    for (var i = 0; i < this.length; i++)
        if (this[i] == e)
            return true;
    return false;
};